package viewInterfaces;

import view.ViewBenchmarkPanel;
import view.ViewDBConnectionSetup;
import view.ViewLoadTestResult;
import view.ViewMain;
import view.ViewMetricsPanel;
import view.ViewOutputJarSetup;
import view.ViewProjectManagement;
import view.ViewRecommendersPanel;
import view.ViewRunSetup;
import view.ViewSaveTestResult;
import view.ViewTestPanel;
import view.ViewTestSetup;

/**
 *	Create the View Layer by according Abstract Factory pattern design
 * 
 */
public class ViewFactory extends AbstractViewFactory {
    
    public IViewMain getViewMain() {
        return new ViewMain();
    }

	@Override
	public IViewRecommendersPanel getViewRecommendersPanel() {
		return new ViewRecommendersPanel();
	}

	@Override
	public IViewTestsPanel getViewMetricsPanel() {
		return new ViewMetricsPanel();
	}
	
	@Override
	public IViewTestPanel getViewTestPanel() {
		return new ViewTestPanel();
	}

	@Override
	public IViewTestSetup getViewTestSetup() {
		return new ViewTestSetup();
	}

	@Override
	public IViewBenchmarkPanel getBenchmarkPanel() {
		return new ViewBenchmarkPanel();
	}

	@Override
	public IViewSaveTestResult getSaveTestResultView() {
		return new ViewSaveTestResult();
	}

	@Override
	public IViewLoadTestResult getLoadTestResultView() {
		return new ViewLoadTestResult();
	}

	@Override
	public IViewRunSetup getViewRun() {
		return new ViewRunSetup();
	}

	@Override
	public IViewDBConnectionSetup getViewDBConnection() {
		return new ViewDBConnectionSetup();
	}

	@Override
	public IViewProjectManagement getViewProjectManagement() {
		return new ViewProjectManagement();
	}

	@Override
	public IViewOutputJarSetup getOutputSetupView() {
		return new ViewOutputJarSetup();
	}


}
